This description relates to managing memory and storage space for a data operation.
Some computing systems use a virtual memory scheme to manage a memory device used by programs executing within an operating system. For example, the operating system may handle translation between a larger virtual address space and a smaller real address space of the memory device (also called “main memory”), with pages of memory swapped in and out from a storage device that serves as a backing store with a larger storage capacity than the memory device. Thus, the amount of working memory accessible to a program is not limited by the size of main memory. In a virtual memory scheme, the movement of pages of addresses in the working memory of a program back and forth between the memory device and the backing store is generally transparent to the program using that working memory. Some computing systems may have hardware support for virtual memory such as a memory management unit (MMU) built into a central processing unit (CPU). Some computing systems may also use a caching system with one or more levels to store copies of a limited number of main memory addresses within relatively faster cache memory to speed repeated access of those memory addresses.